home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-11-19 | 16.9 KB | 366 lines | [TEXT/ALFA] |
- # ###################################################################
- #
- # FILE: "BibTeX.ReadMe"
- # created: 4/2/96 {6:50:21 pm}
- # last update: 19/11/96 {2:23:43 pm}
- # Author: Vince Darley
- # E-mail: <mailto:vince@das.harvard.edu>
- # mail: Division of Applied Sciences, Harvard University
- # Oxford Street, Cambridge MA 02138, USA
- # www: <http://www.fas.harvard.edu/~darley/>
- #
- # Mac port copyright (C) 1996 Vince Darley.
- #
- # Freely distributable, please report bugs (and fixes) to
- # the author.
- #
- # ###################################################################
-
- This is BibTeX (fat)
- ====================
-
- Contents:
-
- (i) Description of BibTeX's function and purpose.
- (ii) Feature list for this version of BibTeX for MacOS.
- (iii) Using BibTeX with the editor 'Alpha'
- (iv) Technical details, compilation, to-do's,...
- (v) Version history.
-
- BibTeX is the bibliography handling tool related to the TeX/LaTeX
- typesetting system (available on almost all conceivable OS platforms).
- When a document is typeset with LaTeX, an auxiliary file (with extension
- '.aux') is generated. This auxiliary file contains, amongst other things,
- a list of references (to books, articles, research reports, web-url's,...)
- cited in the original document. BibTeX takes this list, together with the
- name of a style file (extension '.bst') and a list of bibliography
- databases (extension '.bib') which are also given in the auxiliary file,
- and produces a wonderfully formatted list of references which the LaTeX
- system subsequently (and automatically) appends to your typeset document.
-
- Hence BibTeX is really not at all useful without TeX/LaTeX (there are
- several freeware/shareware/commercial versions for the MacOS: OzTeX,
- CMacTeX, DirecTeX Pro, Textures). In fact this port of BibTeX is now
- distributed with OzTeX 2.0 or newer (although the actual version shipping
- with OzTeX can lag behind the latest by a release or two). It is useful
- to have a good text editor which knows about the particular format of LaTeX
- documents: on the Mac, the editor Alpha is indispensible in this regard,
- both for editing and for its apple-event communication with the various
- parts of a LaTeX system.
-
- For those who think this sounds a bit too complicated, the benefits in
- terms of quality of output (both textual and mathematical) and automatic
- generation of all manner of numbering schemes (figures, equations,
- sections), and document parts (table of contents, index, bibliography),
- together with cross-platform availability, mean that many people consider
- it the _best_ current system for producing quality documents.
-
- Here are some links for further information:
-
- • Mathematical relevance: <http://e-math.ams.org/>
- • General TeX documentation: <http://www.cl.cam.ac.uk/TeXdoc/TeXdocs.html>
- • Archive of LaTeX documenation: <http://www.loria.fr/tex/english/index.html>
- • More LaTeX links: <http://molscat.giss.nasa.gov/LaTeX/externals.html>
- • The editor 'Alpha': <http://www.cs.umd.edu/~keleher/alpha.html>
- • Various TeX-related links: <http://www.bluesky.com/TeXlinks>
- • CMacTeX: <http://www.math.tamu.edu/~tkiffe/cmactex.html>
- • OzTeX: <http://www.kagi.com/authors/akt/oztex.html>
- • Textures: <http://www.bluesky.com/>
- • Archive of all TeX related material: <http://jasper.ora.com/ctan.html>
-
- Many thanks to Alun Carr, Andy Amann, Richard Chang, Jacques Distler, and
- others for helping to track down the bugs my port of BibTeX has had, and
- for suggestions on how to improve it.
-
- ========================================================================
-
- BibTeX version 1.1.4
-
- It has no known bugs, however, use at your own risk; there is no
- warranty....
-
- Feature list:
-
- • Basic features
- - Processes .aux files
- - Examine new or old log files and cmd-click to jump to errors,
- warnings, etc. in your editor.
- - Very fast (now more than 10 times faster!).
- - Friendly to other applications (actually calls WaitNextEvent);
- - Fat binary; runs on PPC or 68k machines;
- - Copes with both Unix and Mac standard eol characters.
- - Internet Config aware
-
- • TeX details:
- - Switchable between 'big' and 'small' modes. The 'big' mode increases
- the size of biobiography resources such as the number of strings allowed.
- This should let you use 'Camel' the up-and-coming bibliography stuff for
- LaTeX2e;
- - Search path (for .bib, .bst files) is as follows: (1) The two paths
- you set in the options dialog (2) the "BibTeX inputs" folder,
- (3) the location of the '.aux' file being processed. This search
- path is used for both .bst and .bib files, although you can of course
- keep them in separate directories if you like;
- - Source code available;
-
- • Interface details:
- - Supports high-level apple events etc. so you can drag a '.aux' file (or
- several) onto it for processing, or send it an odoc event from Alpha...
- - You can command-click on warnings, errors and filenames in
- the log window to leap to the correct file, line, error position
- etc. in your favorite editor. Read the section 'Apple-events and
- BibTeX' for more details. To use this feature with the editor
- 'Alpha', copy the contents of the file 'AlphaBibScripts.tcl' to
- your 'prefs.tcl' in Alpha.
- - Links from the about box to the BibTeX web page, so you can check
- for upgrades.
- - If available, it uses Internet Config for file types of the .blg, .bbl
- files it creates. If you make BibTeX ('Vbib') the creator of
- .blg files, you can double click them to open them in the log window.
- - Balloon help is available for all dialog box items.
-
-
- This version of BibTeX is totally free. If you like it, feel free to
- send email, postcards, cash, registrations to shareware you've written,...
- but there is no obligation.
-
- Note that the application's partition is generous at 400k by default. I
- think it should work with 375k on 680x0 machines, and 300k on PPC machines,
- so you could lower the application's partition size.
-
- ========================================================================
-
- Apple-Events and BibTeX
-
- BibTeX can be triggered to process '.aux' files by being sent a standard
- 'odoc' event. Versions of Alpha newer than 6.2 will do this without any
- configuration on your part. If you're using an old version of Alpha (pre
- 6.2), download a new version (see the hyperlinks above); (Also have a look
- at my package "Vince's Additions" which contains some useful bibliography
- conversion tools). If you don't have Alpha, download it immediately; it's
- easily the best editor for TeX, LaTeX, C, C++ etc. (IMHO).
-
- As of version 1.1.4, command-clicking in the log window will now send GURL
- 'bibresult' events. To make use of these, open Internet Config, select
- 'helpers' and 'add' a helper for 'bibresult', and select as helper your
- editor. Of course your editor needs to be able to receive and interpret
- GURL bibresults. I've enclosed some procedures for Alpha which do this,
- but if you use BBEdit/TeXtures or something else, you're currently on your
- own.
-
- The format of the 'bibresult' GURL event is as follows:
-
- bibresult:FULLFILENAME:MESSAGE
-
- where FULLFILENAME is a full path description to the base '.aux' file or
- 'Unknown', and MESSAGE is any of the following:
-
- The top-level auxiliary file: FILENAME.aux
- A level-X auxiliary file: FILENAME.aux
- Warning--I didn't find a database entry for "ENTRY"
- Database file #X: FILENAME.bib
- Warning--WARNING ENTRY
- The style file: FILENAME.bst
- ERROR---line LINENUM of file FILENAME a 'UP-TO-ERROR' at POSITION
-
- where X is an integer; FILENAME is a just the name, with no path given;
- ENTRY is a citation key such as 'Darley1996'; WARNING is a standard
- BibTeX warning (such as 'empty title in'); ERROR is a standard BibTeX
- error (such as 'Repeated entry'); LINENUM is the line number of an
- error; POSITION is the character position in that line at which the
- error was detected; UP-TO-ERROR is the string of characters from the
- beginning of the line to the start of the error, with braces {} replaced
- by ‘’ because of some IC/AE problem.
-
- The Tcl procedures I've written for Alpha interpret these messages and take
- the appropriate action: opening a file; finding and highlighting an error;
- adding a '.bib' file to the \bibliography environment; making a new entry
- in an existing '.bib' file,… To use these scripts, copy the contents of the
- file 'BibTeXAlphaScripts.tcl' to your 'prefs.tcl' in Alpha (or read the
- file for other installation options).
-
- Problems/Bugs:
-
- Since BibTeX sends actual line numbers and positions, if you're correcting
- a lot of errors/warnings, those line number can become out of date. The
- receiving scripts are designed to alleviate this problem (they search
- locally for something matching the error), but with heavy editing, these
- problems are not completely avoidable.
-
- ========================================================================
-
- Technical Stuff:
-
- To Do:
-
- • Write to .blg and .bbl files asynchronously.
- • Some minor code tidying.
- • Incorporate updated powerplant classes when available.
- • A few _minor_ speed improvements are still possible.
- • Perhaps switch to using WASTE, instead of TextEdit.
-
- Any offers for help or suggestions for improvements much appreciated --- in
- particular if someone wants to get to work on the to-do's, that'd be great.
- If you have example code which does something similar to any of the to-do's
- (e.g. asynchronous file i/o), and you're happy to let me use it as a
- template, then please send me it!
-
- ------
-
- Sources:
-
- I'm no longer distributing the sources, since it seems a bit needless, but
- if you actually want them, just ask.
-
- Based on the C code of the original MacBibTeX (0.99c) which I grabbed from
- CTAN, and code generously donated by Rick Zaccone from his 'Makeindex'.
- Icon adapted from one I grabbed off a folder from some collection on the
- net. 'IC++' written by Dan Crevier is used for the about box links. I
- also use LBalloonTracker by Paul Lalonde which is © 1996 Corporate Software
- & Technologies Int. Inc. (CS&T), and very convenient. Many thanks!
-
- ------
-
- Compilation (with CodeWarrior 10):
-
- Obtain the library 'MoreFiles' (preferably version 1.4.3 or newer), which
- should be available from the info-mac archives.
-
- • Open the source code folder
- • Compile BibTeX68k.µ
- • Compile BibTeXPPC.µ
-
- Move the resulting application "BibTeX" up one level so it can find 'BibTeX
- inputs'. You may need to adjust the memory allocation (with Get Info), but
- beyond that you're set.
-
- -----
-
- Personalisation:
-
- You can now set BibTeX search paths using the options dialog, but if for
- some peculiar reason you want to set more than two different paths, in
- addition to the defaults, then you can do so using ResEdit:
-
- You can edit a string resource with ResEdit to specify your own search
- path. To do this open the app with ResEdit and look at the STR# resource
- called "Path". You can add entries which look like this:
- '2:Hard Disk:My Search Path:'; the '2' signifies to BibTeX that this is
- a complete path specification. If you prefer, '0:' indicates
- a path relative to the .aux file, and '1:' relative to the BibTeX
- application.
-
- ------
-
- Version History:
-
- 1.1.4 Fixed crashing bug when cmd-clicking at the end of the log window.
- Fixed a couple small GUI buglets. Added processing time message
- to end of log window. Command clicking in opened .blg files sends
- correct file information now. Minor changes to about box, and to
- Tcl scripts for Alpha communication.
-
- Fixed so prefs file has an icon; startup will be slow the first
- time, because BibTeX will have to rewrite your preferences.
- Added an icon resource for TEXT files which can be used for .blg
- log files. Set this up in Internet Config, and you can double
- click .blg files to launch. Now you can look at old .blg files and
- decide if you wish to regenerate them (cmd-G = Go will reprocess
- the corresponding .aux file), or cmd-click to edit problems using
- your editor. Fixed quite old (I think) bug in which you could have
- two log windows after hitting 'Cancel' in the options dialog.
- Feature change: BibTeX now rejects any text file that's not '.aux'
- or '.blg'; before it would be passed to the core code and of course
- cause errors. Added more Balloon help. Feature change: type/creator
- of .blg and .bbl files created are taken from Internet Config if
- possible, if not then from the .aux file as before.
-
- Copes with filenames containing spaces. Remember if you use
- spaces, your files will not work on other platforms. Fixed a
- minor buffer-overflow problem in which not all warnings would
- be given in the log window. Added command-clicking features
- to the log window (very useful and cool new feature!). Fixed
- one source of preferences problems (startup with no preferences
- file, quit and restart => default preferences are garbage).
-
- 1.1.3 Really fixed end-of-file problem. Other minor changes.
-
- 1.1.2 Fixed setting end-of-files correctly. I somehow reintroduced this
- bug when I rewrote all the file i/o stuff. Balloon help in dialogs.
-
- 1.1.1 Added options 'Stay open on warning', 'Stay open on error' which
- counter-act the 'Quit when finished' option, and leave BibTeX
- open if anything went wrong.
- Fixed the 'text-jumping' visual bug in the log window (thanks
- to a helpful soul on comp.sys.mac.programmer.codewarrior).
- Updated to MoreFiles 1.4.3.
- Preferences file now has its version number updated if necessary
- when you start BibTeX, and I always create a preferences file now,
- and any old preferences are updated with any new options.
- This fixes an old 'bug' in which BibTeX would take a long time
- starting up, because it's looking for a preferences file, or
- trying to read information from it which doesn't exist.
- Fixed a subtle 68k only bug which has been around for a long time,
- but only now reared its head --- caused horrible crashes on 68k
- machines, somewhat randomly since useful memory was being
- over-written. However it's fixed now.
- Fixed a small bug introduced in 1.10, which would show up only
- after multiple runs, especially after a fatal error, and could
- result in a crash.
- Added message to the log window after a fatal error.
-
- 1.1.0 Did some serious profiling and optimisation. Opening files is
- really rather slow on MacOS, probably due to the emulated nature
- of the file-system.
- Now about 10+ times faster than 1.06. Rough timing is as follows:
- v1.06 75secs, v1.07 62secs, v1.10 7secs
- (All using Speed Doubler on a 5300cs on a large BibTeX run)
- Huge rewrite of all the IO code: uses PowerPlant buffered IO classes,
- which makes everything rather simpler, and on the whole a lot faster.
- The code is much, much cleaner now, as I've cleared out a lot of the
- old vestiges of MakeIndex and the ancient web2c source code has been
- modernised. Therefore the BibTeX <-> Interface links are simple now.
- Added option to monopolise the CPU.
- Significant interface improvements:
- You can now set two folders to search in the options dialog box,
- (but the old technique of using Resedit still works). Note that
- by default BibTeX now searches in:
- • The same folder as the '.aux' file being processed.
- • The folder 'BibTeX inputs' located wherever the BibTeX application
- resides on your hard drive.
- • Any folders you add manually using ResEdit (not normally necessary)
- • The two folders you specify in your preferences.
- Added links from the 'about box' to the BibTeX web-page, and to
- mail me, etc.
- Recompiled using Codewarrior 10
- 1.07 (Never released publicly)
- Significant internal changes:
- (i) Speed increases.
- (ii) Increased sizes of things for 'Big' mode. This version of BibTeX
- should support Camel (the up-and-coming LaTeX 2e bibliography system).
- (iii) Added a couple of options which were requested:
- 'beep when finished' and 'no log window'.
- 1.06 Now copes with extended character set 'üöé...'. Not all TeX
- implementations allow them, but if you pass one to BibTeX, it
- will happily output it, assuming your version of TeX can cope.
- Changed name of log window.
- 1.05 Recompiled with CW9, updated to take account of Powerplant
- changes. Cosmetic change when selecting 'go' to re-run
- a file - the window is now cleared first.
- 1.04 Minor (non-fatal) bug fixes --- all files properly closed and
- flushed after a bibtex error, file eof's set correctly for .bbl
- and .blg files.
- Thanks for the bug reports!
- 1.03 Minor changes --- it now gives a message 'BibTeX run complete.'
- in the log window, rather than just finishing. Documentation
- update. I've fixed the FREF/BNDL problems, so drag'n'drop
- really should work now ;-)
- 1.02 Switchable between Big and Small. Uses new memory allocation
- scheme from Rick, so temporary memory is used rather than the
- system heap. This means the application's given partition can
- be much smaller (300k works for me). Added fref 'TEXT' resource
- which was missing previously (so drag and drop will work under
- all circumstances now).
- 1.01 Copes with Unix as well as Mac EOL characters
- 1.0 Original; soon to be distributed with OzTeX 2.0
-